home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 276_01 / test16a.asm < prev    next >
Assembly Source File  |  1989-10-01  |  8KB  |  542 lines

  1. ;
  2. ; This file contains the opcodes of the PIC16C52 CPU in numerical order for
  3. ; testing the portable PIC1650 cross-assembler.
  4. ;
  5. DEST    EQU    123H
  6. SUBR    EQU    45H
  7. BIT    EQU    6
  8.  
  9. ;
  10. ; 0000H - 001FH
  11. ;
  12.     NOP
  13.                 ;0001H is undefined.
  14.     OPTION
  15.     SLEEP
  16.     CLRWDT
  17.     TRIS    PORTA
  18.     TRIS    PORTB
  19.     TRIS    PORTC
  20.                 ;0008H - 001FH are undefined.
  21.  
  22. ;
  23. ; 0020H - 003FH
  24. ;
  25.     MOVWF    @FSR
  26.     MOVWF    RTCC
  27.     MOVWF    PC
  28.     MOVWF    SW
  29.     MOVWF    FSR
  30.     MOVWF    PORTA
  31.     MOVWF    PORTB
  32.     MOVWF    PORTC
  33.     MOVWF    F8
  34.     MOVWF    F9
  35.     MOVWF    F10
  36.     MOVWF    F11
  37.     MOVWF    F12
  38.     MOVWF    F12
  39.     MOVWF    F14
  40.     MOVWF    F15
  41.     MOVWF    F16
  42.     MOVWF    F17
  43.     MOVWF    F18
  44.     MOVWF    F19
  45.     MOVWF    F20
  46.     MOVWF    F21
  47.     MOVWF    F22
  48.     MOVWF    F23
  49.     MOVWF    F24
  50.     MOVWF    F25
  51.     MOVWF    F26
  52.     MOVWF    F27
  53.     MOVWF    F28
  54.     MOVWF    F29
  55.     MOVWF    F30
  56.     MOVWF    F31
  57.  
  58. ;
  59. ; 0040H - 005FH
  60. ;
  61.     CLRW
  62.                 ;0041H - 005FH are undefined.
  63.  
  64. ;
  65. ; 0060H - 007FH
  66. ;
  67.     CLRF    @FSR
  68.     CLRF    RTCC
  69.     CLRF    PC
  70.     CLRF    SW
  71.     CLRF    FSR
  72.     CLRF    PORTA
  73.     CLRF    PORTB
  74.     CLRF    PORTC
  75.     CLRF    F8
  76.                 ;We'll leave out 0069H - 007EH for brevity.
  77.     CLRF    F31
  78.  
  79. ;
  80. ; 0080H - 009FH
  81. ;
  82.     SUBWF    @FSR, W
  83.     SUBWF    RTCC, W
  84.     SUBWF    PC, W
  85.     SUBWF    SW, W
  86.     SUBWF    FSR, W
  87.     SUBWF    PORTA, W
  88.     SUBWF    PORTB, W
  89.     SUBWF    PORTC, W
  90.     SUBWF    F8, W
  91.     SUBWF    F9, W
  92.     SUBWF    F10, W
  93.     SUBWF    F11, W
  94.     SUBWF    F12, W
  95.     SUBWF    F12, W
  96.     SUBWF    F14, W
  97.     SUBWF    F15, W
  98.     SUBWF    F16, W
  99.     SUBWF    F17, W
  100.     SUBWF    F18, W
  101.     SUBWF    F19, W
  102.     SUBWF    F20, W
  103.     SUBWF    F21, W
  104.     SUBWF    F22, W
  105.     SUBWF    F23, W
  106.     SUBWF    F24, W
  107.     SUBWF    F25, W
  108.     SUBWF    F26, W
  109.     SUBWF    F27, W
  110.     SUBWF    F28, W
  111.     SUBWF    F29, W
  112.     SUBWF    F30, W
  113.     SUBWF    F31, W
  114.  
  115. ;
  116. ; 00A0H - 00BFH
  117. ;
  118.     SUBWF    @FSR, F
  119.     SUBWF    RTCC, F
  120.     SUBWF    PC, F
  121.     SUBWF    SW, F
  122.     SUBWF    FSR, F
  123.     SUBWF    PORTA, F
  124.     SUBWF    PORTB, F
  125.     SUBWF    PORTC, F
  126.     SUBWF    F8, F
  127.     SUBWF    F9, F
  128.     SUBWF    F10, F
  129.     SUBWF    F11, F
  130.     SUBWF    F12, F
  131.     SUBWF    F12, F
  132.     SUBWF    F14, F
  133.     SUBWF    F15, F
  134.     SUBWF    F16, F
  135.     SUBWF    F17, F
  136.     SUBWF    F18, F
  137.     SUBWF    F19, F
  138.     SUBWF    F20, F
  139.     SUBWF    F21, F
  140.     SUBWF    F22, F
  141.     SUBWF    F23, F
  142.     SUBWF    F24, F
  143.     SUBWF    F25, F
  144.     SUBWF    F26, F
  145.     SUBWF    F27, F
  146.     SUBWF    F28, F
  147.     SUBWF    F29, F
  148.     SUBWF    F30, F
  149.     SUBWF    F31, F
  150.  
  151. ;
  152. ; 00C0H - 00DFH
  153. ;
  154.     DECF    @FSR, W
  155.     DECF    RTCC, W
  156.     DECF    PC, W
  157.     DECF    SW, W
  158.     DECF    FSR, W
  159.     DECF    PORTA, W
  160.     DECF    PORTB, W
  161.     DECF    PORTC, W
  162.     DECF    F8, W
  163.                 ;We'll leave out 00C9H - 00DEH for brevity.
  164.     DECF    F31, W
  165.  
  166. ;
  167. ; 00E0H - 00FFH
  168. ;
  169.     DECF    @FSR, F
  170.     DECF    RTCC, F
  171.     DECF    PC, F
  172.     DECF    SW, F
  173.     DECF    FSR, F
  174.     DECF    PORTA, F
  175.     DECF    PORTB, F
  176.     DECF    PORTC, F
  177.     DECF    F8, F
  178.                 ;We'll leave out 00E9H - 00FEH for brevity.
  179.     DECF    F31, F
  180.  
  181. ;
  182. ; 0100H - 011FH
  183. ;
  184.     IORWF    @FSR, W
  185.     IORWF    RTCC, W
  186.     IORWF    PC, W
  187.     IORWF    SW, W
  188.     IORWF    FSR, W
  189.     IORWF    PORTA, W
  190.     IORWF    PORTB, W
  191.     IORWF    PORTC, W
  192.     IORWF    F8, W
  193.                 ;We'll leave out 0109H - 011EH for brevity.
  194.     IORWF    F31, W
  195.  
  196. ;
  197. ; 0120H - 013FH
  198. ;
  199.     IORWF    @FSR, F
  200.     IORWF    RTCC, F
  201.     IORWF    PC, F
  202.     IORWF    SW, F
  203.     IORWF    FSR, F
  204.     IORWF    PORTA, F
  205.     IORWF    PORTB, F
  206.     IORWF    PORTC, F
  207.     IORWF    F8, F
  208.                 ;We'll leave out 0129H - 013EH for brevity.
  209.     IORWF    F31, F
  210.  
  211. ;
  212. ; 0140H - 015FH
  213. ;
  214.     ANDWF    @FSR, W
  215.     ANDWF    RTCC, W
  216.     ANDWF    PC, W
  217.     ANDWF    SW, W
  218.     ANDWF    FSR, W
  219.     ANDWF    PORTA, W
  220.     ANDWF    PORTB, W
  221.     ANDWF    PORTC, W
  222.     ANDWF    F8, W
  223.                 ;We'll leave out 0149H - 015EH for brevity.
  224.     ANDWF    F31, W
  225.  
  226. ;
  227. ; 0160H - 017FH
  228. ;
  229.     ANDWF    @FSR, F
  230.     ANDWF    RTCC, F
  231.     ANDWF    PC, F
  232.     ANDWF    SW, F
  233.     ANDWF    FSR, F
  234.     ANDWF    PORTA, F
  235.     ANDWF    PORTB, F
  236.     ANDWF    PORTC, F
  237.     ANDWF    F8, F
  238.                 ;We'll leave out 0169H - 017EH for brevity.
  239.     ANDWF    F31, F
  240.  
  241. ;
  242. ; 0180H - 019FH
  243. ;
  244.     XORWF    @FSR, W
  245.     XORWF    RTCC, W
  246.     XORWF    PC, W
  247.     XORWF    SW, W
  248.     XORWF    FSR, W
  249.     XORWF    PORTA, W
  250.     XORWF    PORTB, W
  251.     XORWF    PORTC, W
  252.     XORWF    F8, W
  253.                 ;We'll leave out 0189H - 019EH for brevity.
  254.     XORWF    F31, W
  255.  
  256. ;
  257. ; 01A0H - 01BFH
  258. ;
  259.     XORWF    @FSR, F
  260.     XORWF    RTCC, F
  261.     XORWF    PC, F
  262.     XORWF    SW, F
  263.     XORWF    FSR, F
  264.     XORWF    PORTA, F
  265.     XORWF    PORTB, F
  266.     XORWF    PORTC, F
  267.     XORWF    F8, F
  268.                 ;We'll leave out 01A9H - 01BEH for brevity.
  269.     XORWF    F31, F
  270.  
  271. ;
  272. ; 01C0H - 01DFH
  273. ;
  274.     ADDWF    @FSR, W
  275.     ADDWF    RTCC, W
  276.     ADDWF    PC, W
  277.     ADDWF    SW, W
  278.     ADDWF    FSR, W
  279.     ADDWF    PORTA, W
  280.     ADDWF    PORTB, W
  281.     ADDWF    PORTC, W
  282.     ADDWF    F8, W
  283.                 ;We'll leave out 01C9H - 01DEH for brevity.
  284.     ADDWF    F31, W
  285.  
  286. ;
  287. ; 01E0H - 01FFH
  288. ;
  289.     ADDWF    @FSR, F
  290.     ADDWF    RTCC, F
  291.     ADDWF    PC, F
  292.     ADDWF    SW, F
  293.     ADDWF    FSR, F
  294.     ADDWF    PORTA, F
  295.     ADDWF    PORTB, F
  296.     ADDWF    PORTC, F
  297.     ADDWF    F8, F
  298.                 ;We'll leave out 01E9H - 01FEH for brevity.
  299.     ADDWF    F31, F
  300.  
  301. ;
  302. ; 0200H - 021FH
  303. ;
  304.     MOVF    @FSR, W
  305.     MOVF    RTCC, W
  306.     MOVF    PC, W
  307.     MOVF    SW, W
  308.     MOVF    FSR, W
  309.     MOVF    PORTA, W
  310.     MOVF    PORTB, W
  311.     MOVF    PORTC, W
  312.     MOVF    F8, W
  313.                 ;We'll leave out 0209H - 021EH for brevity.
  314.     MOVF    F31, W
  315.  
  316. ;
  317. ; 0220H - 023FH
  318. ;
  319.     MOVF    @FSR, F
  320.     MOVF    RTCC, F
  321.     MOVF    PC, F
  322.     MOVF    SW, F
  323.     MOVF    FSR, F
  324.     MOVF    PORTA, F
  325.     MOVF    PORTB, F
  326.     MOVF    PORTC, F
  327.     MOVF    F8, F
  328.                 ;We'll leave out 0229H - 023EH for brevity.
  329.     MOVF    F31, F
  330.  
  331. ;
  332. ; 0240H - 025FH
  333. ;
  334.     COMF    @FSR, W
  335.     COMF    RTCC, W
  336.     COMF    PC, W
  337.     COMF    SW, W
  338.     COMF    FSR, W
  339.     COMF    PORTA, W
  340.     COMF    PORTB, W
  341.     COMF    PORTC, W
  342.     COMF    F8, W
  343.                 ;We'll leave out 0249H - 025EH for brevity.
  344.     COMF    F31, W
  345.  
  346. ;
  347. ; 0260H - 027FH
  348. ;
  349.     COMF    @FSR, F
  350.     COMF    RTCC, F
  351.     COMF    PC, F
  352.     COMF    SW, F
  353.     COMF    FSR, F
  354.     COMF    PORTA, F
  355.     COMF    PORTB, F
  356.     COMF    PORTC, F
  357.     COMF    F8, F
  358.                 ;We'll leave out 0269H - 027EH for brevity.
  359.     COMF    F31, F
  360.  
  361. ;
  362. ; 0280H - 029FH
  363. ;
  364.     INCF    @FSR, W
  365.     INCF    RTCC, W
  366.     INCF    PC, W
  367.     INCF    SW, W
  368.     INCF    FSR, W
  369.     INCF    PORTA, W
  370.     INCF    PORTB, W
  371.     INCF    PORTC, W
  372.     INCF    F8, W
  373.                 ;We'll leave out 0289H - 029EH for brevity.
  374.     INCF    F31, W
  375.  
  376. ;
  377. ; 02A0H - 02BFH
  378. ;
  379.     INCF    @FSR, F
  380.     INCF    RTCC, F
  381.     INCF    PC, F
  382.     INCF    SW, F
  383.     INCF    FSR, F
  384.     INCF    PORTA, F
  385.     INCF    PORTB, F
  386.     INCF    PORTC, F
  387.     INCF    F8, F
  388.                 ;We'll leave out 02A9H - 02BEH for brevity.
  389.     INCF    F31, F
  390.  
  391. ;
  392. ; 02C0H - 02DFH
  393. ;
  394.     DECFSZ    @FSR, W
  395.     DECFSZ    RTCC, W
  396.     DECFSZ    PC, W
  397.     DECFSZ    SW, W
  398.     DECFSZ    FSR, W
  399.     DECFSZ    PORTA, W
  400.     DECFSZ    PORTB, W
  401.     DECFSZ    PORTC, W
  402.     DECFSZ    F8, W
  403.                 ;We'll leave out 02C9H - 02DEH for brevity.
  404.     DECFSZ    F31, W
  405.  
  406. ;
  407. ; 02E0H - 02FFH
  408. ;
  409.     DECFSZ    @FSR, F
  410.     DECFSZ    RTCC, F
  411.     DECFSZ    PC, F
  412.     DECFSZ    SW, F
  413.     DECFSZ    FSR, F
  414.     DECFSZ    PORTA, F
  415.     DECFSZ    PORTB, F
  416.     DECFSZ    PORTC, F
  417.     DECFSZ    F8, F
  418.                 ;We'll leave out 02E9H - 02FEH for brevity.
  419.     DECFSZ    F31, F
  420.  
  421. ;
  422. ; 0300H - 031FH
  423. ;
  424.     RRF    @FSR, W
  425.     RRF    RTCC, W
  426.     RRF    PC, W
  427.     RRF    SW, W
  428.     RRF    FSR, W
  429.     RRF    PORTA, W
  430.     RRF    PORTB, W
  431.     RRF    PORTC, W
  432.     RRF    F8, W
  433.                 ;We'll leave out 0309H - 031EH for brevity.
  434.     RRF    F31, W
  435.  
  436. ;
  437. ; 0320H - 033FH
  438. ;
  439.     RRF    @FSR, F
  440.     RRF    RTCC, F
  441.     RRF    PC, F
  442.     RRF    SW, F
  443.     RRF    FSR, F
  444.     RRF    PORTA, F
  445.     RRF    PORTB, F
  446.     RRF    PORTC, F
  447.     RRF    F8, F
  448.                 ;We'll leave out 0329H - 033EH for brevity.
  449.     RRF    F31, F
  450.  
  451. ;
  452. ; 0340H - 035FH
  453. ;
  454.     RLF    @FSR, W
  455.     RLF    RTCC, W
  456.     RLF    PC, W
  457.     RLF    SW, W
  458.     RLF    FSR, W
  459.     RLF    PORTA, W
  460.     RLF    PORTB, W
  461.     RLF    PORTC, W
  462.     RLF    F8, W
  463.                 ;We'll leave out 0349H - 035EH for brevity.
  464.     RLF    F31, W
  465.  
  466. ;
  467. ; 0360H - 037FH
  468. ;
  469.     RLF    @FSR, F
  470.     RLF    RTCC, F
  471.     RLF    PC, F
  472.     RLF    SW, F
  473.     RLF    FSR, F
  474.     RLF    PORTA, F
  475.     RLF    PORTB, F
  476.     RLF    PORTC, F
  477.     RLF    F8, F
  478.                 ;We'll leave out 0369H - 037EH for brevity.
  479.     RLF    F31, F
  480.  
  481. ;
  482. ; 0380H - 039FH
  483. ;
  484.     SWAPF    @FSR, W
  485.     SWAPF    RTCC, W
  486.     SWAPF    PC, W
  487.     SWAPF    SW, W
  488.     SWAPF    FSR, W
  489.     SWAPF    PORTA, W
  490.     SWAPF    PORTB, W
  491.     SWAPF    PORTC, W
  492.     SWAPF    F8, W
  493.                 ;We'll leave out 0389H - 039EH for brevity.
  494.     SWAPF    F31, W
  495.  
  496. ;
  497. ; 03A0H - 03BFH
  498. ;
  499.     SWAPF    @FSR, F
  500.     SWAPF    RTCC, F
  501.     SWAPF    PC, F
  502.     SWAPF    SW, F
  503.     SWAPF    FSR, F
  504.     SWAPF    PORTA, F
  505.     SWAPF    PORTB, F
  506.     SWAPF    PORTC, F
  507.     SWAPF    F8, F
  508.                 ;We'll leave out 03A9H - 03BEH for brevity.
  509.     SWAPF    F31, F
  510.  
  511. ;
  512. ; 03C0H - 03DFH
  513. ;
  514.     INCFSZ    @FSR, W
  515.     INCFSZ    RTCC, W
  516.     INCFSZ    PC, W
  517.     INCFSZ    SW, W
  518.     INCFSZ    FSR, W
  519.     INCFSZ    PORTA, W
  520.     INCFSZ    PORTB, W
  521.     INCFSZ    PORTC, W
  522.     INCFSZ    F8, W
  523.                 ;We'll leave out 03C9H - 03DEH for brevity.
  524.     INCFSZ    F31, W
  525.  
  526. ;
  527. ; 03E0H - 03FFH
  528. ;
  529.     INCFSZ    @FSR, F
  530.     INCFSZ    RTCC, F
  531.     INCFSZ    PC, F
  532.     INCFSZ    SW, F
  533.     INCFSZ    FSR, F
  534.     INCFSZ    PORTA, F
  535.     INCFSZ    PORTB, F
  536.     INCFSZ    PORTC, F
  537.     INCFSZ    F8, F
  538.                 ;We'll leave out 03E9H - 03FEH for brevity.
  539.     INCFSZ    F31, F
  540.  
  541.     END
  542.